package cn.nanmeishu;

/**
 * 栈溢出实例
 * 单线程中，通过不行创建方法，且方法不执行结束，来达到超出虚拟机所允许的最大深度，从而抛出StackOverflowError异常
 */
public class Model2 {

   static class ModeDemo{
        int stackLength=1;
        void forPushStack(){
            while (true){
                System.out.println("当前栈帧数:"+stackLength);
                stackLength++;
                forPushStack();
            }
        }
    }

    /**
     * 设置jvm参数：
     * -Xss128k
     * @param args
     */
    public static void main(String[] args) {
        ModeDemo modeDemo = new ModeDemo();
        try {
            modeDemo.forPushStack();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
